package cn.iocoder.yudao.module.hs.controller.admin.shiporder.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

@Schema(description = "管理后台 - 出库单 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ShipOrderRespVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "8514")
    @ExcelProperty("主键")
    private Long id;

    @Schema(description = "发货单号", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("发货单号")
    private String code;

    @Schema(description = "参照单号")
    @ExcelProperty("参照单号")
    private String refereCode;

    @Schema(description = "所在仓库")
    @ExcelProperty("所在仓库")
    private Long warehouseId;

    @Schema(description = "收货仓库")
    @ExcelProperty("所在仓库")
    private Long toWarehouseId;

    @Schema(description = "状态：新建-NEW；待拣货-TO_BE_PICKED；拣货中-PICKING；拣货完成-PICK_OVER；出库中-OUTING；运输中-TRANSPORTING；已收货-RECEIVED；已出库-OUT；", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("状态")
    private String status;

    @Schema(description = "仓库分类：生产仓库-PRODUCTION；三方仓库-TRIPARTITE", example = "2")
    @ExcelProperty("仓库分类")
    private String warehouseType;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "出库操作时间")
    private LocalDateTime outingTime;

    @Schema(description = "运输中时间")
    private LocalDateTime transportingTime;

    @Schema(description = "创建人ID")
    private String creator;

    @Schema(description = "创建人名称")
    private String creatorName;

    @Schema(description = "是否直发客户")
    private Integer isDirect;

    @Schema(description = "客户编码")
    private String customerCode;

    @Schema(description = "客户ID")
    private Long customerId;
}